The present invention relates generally to circuits. More particularly, it relates to an output driver having characteristics that can be adjusted based on the waveform being provided to the driver.
An output driver is commonly used to provide drive capability for an output of an integrated circuit. The required drive capability is typically dependent on the load capacitance and impedance associated with the output line being driven and applicable design specifications. The output driver can be designed and operated with higher output current to drive more load capacitance.
Output drivers are used for various integrated circuits such as application specific integrated circuits (ASICs), digital signal processors, microprocessors, controllers, memory devices, and so on. These integrated circuits are used for a wide variety of applications including computing, networking, communication, data transmission, and others.
For many applications, the data provided to the output driver is random and can be any sequence of zeros and ones. During periods in which the data changes often between zero and one, the time between transitions is shorter and the output driver appears to be switched at a high rate. Conversely, during periods in which there is a long sequence of zeros or ones, the time between transitions is longer and the output driver appears to be switched at a lower rate.
For an output driver having a fixed output drive capability, the characteristics of the output waveform can vary depending on the particular data sequence being provided to the driver. During periods of frequent data transitions, a shorter time duration is available for each transition and the output signal may not be able to completely transition from a starting level to a final level. The peak-to-peak signal swing may thus be smaller during such periods of frequent data transition. Conversely, during periods of less frequent data transitions, a longer time duration is available for each transition and the output signal may be able to completely transition from the starting level to the final level. The peak-to-peak signal swing may thus be greater because more time is available to complete the transition. However, for the next data transition, the signal is starting from a higher (or lower) level and would therefore require a longer time period to transition to a mid-point (see FIGS. 5A and 5B, which are described below). Thus, a skew exists between a frequently switched signal and a less frequently switched signal. This skew translates to inter-symbol interference (ISI), which in turn can cause detection error at a receiving device.
For some applications, it is desirable to provide an output signal having a reduced amount of skew regardless of the data sequence being driven. This may improve the detection of the data at the receiving device. Thus, an output driver having characteristics that can be adjusted based on the received data sequence to provide an output signal having reduced amount of skew is highly desirable.